=head1 NAME

Node::Base - Base class for Nodes in Pan

=head1 SYNOPSIS

 use Node::Base;
 
 my $x = Node::Base->new();
 print $x->name, $x->short_desc, $x->long_desc;

=head1 REQUIRES

Nothing

=head1 EXPORTS

Nothing

=head1 DESCRIPTION

Node::Base is the base class for the Pan Nodal System.
Every 'node' is a piece of information. The idea behind
this abstract is that a node is a node: they can be
collected into heterogenous units, 

=head1 METHODS

=cut

package Node::Base;
use warnings;
use strict;

=head2 new()

Creates a new object.

=cut

sub new {
	# 'Bless' our object into existance
	# Code copied entirely from 'perlobj'
	my $class = shift;
	my $self = {};
	bless $self, $class;
	$self->initialize();
	return $self;
}

sub initialize {
	# A base node is named 'base'.
	# It has a short description of 'The base node'
	# And a long description of 'This node is an internal system object, and should not be visible from the outside.'
	# Or, y'know, thereabouts.
	my $self = shift;
	$$self{'name'} = "Base";
	$$self{'short_desc'} = "The base node";
	$$self{'long_desc'} = "This node is an internal system object, and should not be visible from the outside!";
}

sub name {
	my $self = shift;

	return $$self{'name'};
}

sub short_desc {
	my $self = shift;

	return $$self{'short_desc'};
}

sub long_desc {
	my $self = shift;

	return $$self{'long_desc'};
}

1;

=head1 AUTHOR

Gaurav Vaidya, gaurav@ggvaidya.com

=cut
